package com.sie.plm.rpm.standar.vo;

import java.util.HashMap;
import java.util.Map;

public class RoleVO {
    private String clazzDisplayName;
    private String contextName;
    private String description;
    private String domainotype;

    public void setClazzDisplayName(String clazzDisplayName) {
        this.clazzDisplayName = clazzDisplayName;
    }

    private Map<String, String> identifierRef;
    private String name;
    private String otype;
    private String rolekey;

    public void setContextName(String contextName) {
        this.contextName = contextName;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setDomainotype(String domainotype) {
        this.domainotype = domainotype;
    }

    public void setIdentifierRef(Map<String, String> identifierRef) {
        this.identifierRef = identifierRef;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setOtype(String otype) {
        this.otype = otype;
    }

    public void setRolekey(String rolekey) {
        this.rolekey = rolekey;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof RoleVO)) {
            return false;
        }
        RoleVO other = (RoleVO) o;
        if (!other.canEqual(this)) {
            return false;
        }
        Object this$clazzDisplayName = getClazzDisplayName(), other$clazzDisplayName = other.getClazzDisplayName();
        if ((this$clazzDisplayName == null) ? (other$clazzDisplayName != null) : !this$clazzDisplayName.equals(other$clazzDisplayName)) {
            return false;
        }
        Object this$contextName = getContextName(), other$contextName = other.getContextName();
        if ((this$contextName == null) ? (other$contextName != null) : !this$contextName.equals(other$contextName)) {
            return false;
        }
        Object this$description = getDescription(), other$description = other.getDescription();
        if ((this$description == null) ? (other$description != null) : !this$description.equals(other$description)) {
            return false;
        }
        Object this$domainotype = getDomainotype(), other$domainotype = other.getDomainotype();
        if ((this$domainotype == null) ? (other$domainotype != null) : !this$domainotype.equals(other$domainotype)) {
            return false;
        }
        Object this$identifierRef =  getIdentifierRef(), other$identifierRef =  other.getIdentifierRef();
        if ((this$identifierRef == null) ? (other$identifierRef != null) : !this$identifierRef.equals(other$identifierRef)) {
            return false;
        }
        Object this$name = getName(), other$name = other.getName();
        if ((this$name == null) ? (other$name != null) : !this$name.equals(other$name)) {
            return false;
        }
        Object this$otype = getOtype(), other$otype = other.getOtype();
        if ((this$otype == null) ? (other$otype != null) : !this$otype.equals(other$otype)) {
            return false;
        }
        Object this$rolekey = getRolekey(), other$rolekey = other.getRolekey();
        return !((this$rolekey == null) ? (other$rolekey != null) : !this$rolekey.equals(other$rolekey));
    }

    protected boolean canEqual(Object other) {
        return other instanceof RoleVO;
    }

    public int hashCode() {
        int PRIME = 59,
        result = 1;
        Object $clazzDisplayName = getClazzDisplayName();
        result = result * 59 + (($clazzDisplayName == null) ? 43 : $clazzDisplayName.hashCode());
        Object $contextName = getContextName();
        result = result * 59 + (($contextName == null) ? 43 : $contextName.hashCode());
        Object $description = getDescription();
        result = result * 59 + (($description == null) ? 43 : $description.hashCode());
        Object $domainotype = getDomainotype();
        result = result * 59 + (($domainotype == null) ? 43 : $domainotype.hashCode());
        Object $identifierRef =  getIdentifierRef();
        result = result * 59 + (($identifierRef == null) ? 43 : $identifierRef.hashCode());
        Object $name = getName();
        result = result * 59 + (($name == null) ? 43 : $name.hashCode());
        Object $otype = getOtype();
        result = result * 59 + (($otype == null) ? 43 : $otype.hashCode());
        Object $rolekey = getRolekey();
        return result * 59 + (($rolekey == null) ? 43 : $rolekey.hashCode());
    }

    public String toString() {
        return "RoleVO(clazzDisplayName=" + getClazzDisplayName() + ", contextName=" + getContextName() + ", description=" + getDescription() + ", domainotype=" + getDomainotype() + ", identifierRef=" + getIdentifierRef() + ", name=" + getName() + ", otype=" + getOtype() + ", rolekey=" + getRolekey() + ")";
    }


    public String getClazzDisplayName() {
        return this.clazzDisplayName;
    }


    public String getContextName() {
        return this.contextName;
    }


    public String getDescription() {
        return this.description;
    }


    public String getDomainotype() {
        return this.domainotype;
    }


    public Map<String, String> getIdentifierRef() {
        return this.identifierRef;
    }


    public String getName() {
        return this.name;
    }


    public String getOtype() {
        return this.otype;
    }


    public String getRolekey() {
        return this.rolekey;
    }

    public RoleVO() {
        Map<String, String> identifierRef = new HashMap<>();
        identifierRef.put("otype", "ty.inteplm.org.CTyRole");
        this.identifierRef = identifierRef;
        this.clazzDisplayName = "角色";
        this.otype = "ty.inteplm.org.CTyRole";
    }
}
